<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>空间分析-普通克吕金插值分析</title>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
<div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
<script type="text/javascript" src="../../dist/include-leaflet.js"></script>
<script type="text/javascript">
    var host = window.isLocal ? document.location.protocol + "//" + document.location.host : "http://support.supermap.com.cn:8090";
    var map, interpolationAnalystService, interpolationAnalystParameters, interpolationAnalystResult,
        themeService, themeGridRange, themeParameters, themeLayer,
        baseUrl = host + "/iserver/services/map-temperature/rest/maps/全国温度变化图",
        serviceUrl = host + "/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst";
    map = L.map('map', {
        crs: L.CRS.NonEarthCRS({
            bounds: L.bounds([-2640403.63, 1873792.1], [3247669.39, 5921501.4]),
            origin: L.point(-2640403.63, 5921501.4)
        }),
        center: [3580330, 531762],
        maxZoom: 18,
        zoom: 1
    });
    L.supermap.tiledMapLayer(baseUrl, {noWrap: true, layersID: "[0,1,2]"}).addTo(map);
    interpolationAnalystProcess();

    function interpolationAnalystProcess() {
        //创建点密度插值分析参数实例
        interpolationAnalystParameters = new SuperMap.InterpolationKrigingAnalystParameters({
            //用于做插值分析的数据源中数据集的名称
            dataset: "SamplesP@Interpolation",
            //插值分析结果数据集的名称
            outputDatasetName: "Kriging_Result",
            //插值分析结果数据源的名称
            outputDatasourceName: "Interpolation",
            //结果栅格数据集存储的像素格式
            pixelFormat: SuperMap.PixelFormat.DOUBLE,
            //存储用于进行插值分析的字段名称
            zValueFieldName: "AVG_TMP",
            searchRadius: "0",
            //普通克吕金插值的类型
            type: "KRIGING",
            searchMode: "KDTREE_FIXED_COUNT",
            bounds: L.bounds([-2640403.63, 1873792.1], [3247669.39, 5921501.4])
        });
        //创建点密度插值分析服务实例
        interpolationAnalystService = L.supermap.spatialAnalystService(serviceUrl);
        interpolationAnalystService.interpolationAnalysis(interpolationAnalystParameters, function (serviceResult) {
            interpolationAnalystResult = serviceResult.result;
            if (interpolationAnalystResult && interpolationAnalystResult.dataset) {
                //用栅格专题图展示分析结果
                showAnalysisResult_ThemeGridRange();
            } else {
                alert(serviceResult.error.errorMsg);
            }
        });
    }

    function showAnalysisResult_ThemeGridRange() {
        //创建专题图服务实例
        themeService = L.supermap.themeService(baseUrl);
        var color1 = new SuperMap.ServerColor(170, 240, 233),
            color2 = new SuperMap.ServerColor(176, 244, 188),
            color3 = new SuperMap.ServerColor(218, 251, 178),
            color4 = new SuperMap.ServerColor(220, 236, 145),
            color5 = new SuperMap.ServerColor(96, 198, 66),
            color6 = new SuperMap.ServerColor(20, 142, 53),
            color7 = new SuperMap.ServerColor(85, 144, 55),
            color8 = new SuperMap.ServerColor(171, 168, 38),
            color9 = new SuperMap.ServerColor(235, 165, 9),
            color10 = new SuperMap.ServerColor(203, 89, 2),
            color11 = new SuperMap.ServerColor(157, 25, 1),
            color12 = new SuperMap.ServerColor(118, 15, 3),
            color13 = new SuperMap.ServerColor(112, 32, 7),
            color14 = new SuperMap.ServerColor(106, 45, 12),
            color15 = new SuperMap.ServerColor(129, 80, 50),
            color16 = new SuperMap.ServerColor(160, 154, 146),
            color17 = new SuperMap.ServerColor(107, 47, 14),
            color18 = new SuperMap.ServerColor(125, 75, 44),
            color19 = new SuperMap.ServerColor(146, 110, 88),
            color20 = new SuperMap.ServerColor(166, 153, 146);
        var themeGridRangeItem1 = new SuperMap.ThemeGridRangeItem({
                start: -5,
                end: -3.4,
                color: color1
            }),
            themeGridRangeItem2 = new SuperMap.ThemeGridRangeItem({
                start: -3.4,
                end: -1.8,
                color: color2
            }),
            themeGridRangeItem3 = new SuperMap.ThemeGridRangeItem({
                start: -1.8,
                end: -0.2,
                color: color3
            }),
            themeGridRangeItem4 = new SuperMap.ThemeGridRangeItem({
                start: -0.2,
                end: 1.4,
                color: color4
            }),
            themeGridRangeItem5 = new SuperMap.ThemeGridRangeItem({
                start: 1.4,
                end: 3,
                color: color5
            }),
            themeGridRangeItem6 = new SuperMap.ThemeGridRangeItem({
                start: 3,
                end: 4.6,
                color: color6
            }),
            themeGridRangeItem7 = new SuperMap.ThemeGridRangeItem({
                start: 4.6,
                end: 6.2,
                color: color7
            }),
            themeGridRangeItem8 = new SuperMap.ThemeGridRangeItem({
                start: 6.2,
                end: 7.8,
                color: color8
            }),
            themeGridRangeItem9 = new SuperMap.ThemeGridRangeItem({
                start: 7.8,
                end: 9.4,
                color: color9
            }),
            themeGridRangeItem10 = new SuperMap.ThemeGridRangeItem({
                start: 9.4,
                end: 11,
                color: color10
            }),
            themeGridRangeItem11 = new SuperMap.ThemeGridRangeItem({
                start: 11,
                end: 12.6,
                color: color11
            }),
            themeGridRangeItem12 = new SuperMap.ThemeGridRangeItem({
                start: 12.6,
                end: 14.2,
                color: color12
            }),
            themeGridRangeItem13 = new SuperMap.ThemeGridRangeItem({
                start: 14.2,
                end: 15.8,
                color: color13
            }),
            themeGridRangeItem14 = new SuperMap.ThemeGridRangeItem({
                start: 15.8,
                end: 17.4,
                color: color14
            }),
            themeGridRangeItem15 = new SuperMap.ThemeGridRangeItem({
                start: 17.4,
                end: 19,
                color: color15
            }),
            themeGridRangeItem16 = new SuperMap.ThemeGridRangeItem({
                start: 19,
                end: 20.6,
                color: color16
            }),
            themeGridRangeItem17 = new SuperMap.ThemeGridRangeItem({
                start: 20.6,
                end: 22.2,
                color: color17
            }),
            themeGridRangeItem18 = new SuperMap.ThemeGridRangeItem({
                start: 22.2,
                end: 23.8,
                color: color18
            }),
            themeGridRangeItem19 = new SuperMap.ThemeGridRangeItem({
                start: 23.8,
                end: 25.4,
                color: color19
            }),
            themeGridRangeItem20 = new SuperMap.ThemeGridRangeItem({
                start: 25.4,
                end: 27,
                color: color20
            });
        themeGridRange = new SuperMap.ThemeGridRange({
            reverseColor: false,
            rangeMode: SuperMap.RangeMode.EQUALINTERVAL,
            //栅格分段专题图子项数组
            items: [themeGridRangeItem1, themeGridRangeItem2,
                themeGridRangeItem3, themeGridRangeItem4,
                themeGridRangeItem5, themeGridRangeItem6,
                themeGridRangeItem7, themeGridRangeItem8,
                themeGridRangeItem9, themeGridRangeItem10,
                themeGridRangeItem11, themeGridRangeItem12,
                themeGridRangeItem13, themeGridRangeItem14,
                themeGridRangeItem15, themeGridRangeItem16,
                themeGridRangeItem17, themeGridRangeItem18,
                themeGridRangeItem19, themeGridRangeItem20
            ]
        });
        themeParameters = new SuperMap.ThemeParameters({
            //制作专题图的数据集
            datasetNames: [interpolationAnalystResult.dataset.split('@')[0]],
            dataSourceNames: ["Interpolation"],
            joinItems: null,
            themes: [themeGridRange]
        });
        themeService.getThemeInfo(themeParameters, function (getThemeInfoServiceResult) {
            var result = getThemeInfoServiceResult.result;
            if (result && result.newResourceID) {
                themeLayer = L.supermap.tiledMapLayer(baseUrl, {
                    noWrap: true,
                    cacheEnabled: false,
                    transparent: true,
                    layersID: result.newResourceID,
                    //opacity: 0.8
                }).addTo(map);
            }
        }).on('failed', function (error) {
            alert(error.errorMsg);
        });
    }
</script>
</body>
</html>